import { IParam } from '../../common';
import { IEvent } from '../../modules';
import { IDashboardAbility } from '../ability';
import { ICtrlActionResult } from '../data-action';
import { IDashboardStore } from '../store';
import { IDECtrlController } from './i-de-ctrl-controller';

/**
 * 应用数据看板部件控制器接口
 *
 * @export
 * @interface IDashboardController
 * @extends {IWidgetsController}
 */
export interface IDashboardController<
	S extends IDashboardStore,
	A extends IDashboardAbility
> extends IDECtrlController<S, A> {
	/**
	 * 加载子部件
	 *
	 * @return {*}  {Promise<ICtrlActionResult>}
	 * @memberof IDashboardController
	 */
	load(opts?: IParam): Promise<ICtrlActionResult>;
}
